67 research outputs found

    On the selection of connectivity-based metrics for WSNs using a classification of application behaviour

    Get PDF
    This paper addresses a subset of Wireless Sensor Network (WSN) applications in which data is produced by a set of resource-constrained source nodes and forwarded to one or more sink nodes. The performance of such applications is affected by the connectivity of the WSN, since nodes must remain connected in order to transfer data from sources to sinks. Designers use metrics to measure and improve the efficacy of WSN applications. We aim to facilitate the choice of connectivity-based metrics by introducing a classification of WSN applications based on their data collection behaviour and indicating the metrics best suited to the evaluation of particular application classes. We argue that no suitable metric currently exists for a significant class of applications with the following characteristics: 1) application data is periodically routed or disseminated from source nodes to one or more sink nodes, and 2) the application can continue to function with the loss of source nodes although its useful network lifetime diminishes as a result. We present a new metric, known as Connectivity Weighted Transfer, which may be used to evaluate WSN applications with these characteristics.Preprin

    A framework for considering uncertainty in software systems

    Get PDF
    Funding: This work is partly funded through a PhD studentship to the first author by the School of Computer Science, University of St Andrews.There are many aspects involved in the development and operation of a software system, including system artefacts, activities, and infrastructure. Most of these aspects are vulnerable to uncertainty, which can result in risks to system quality and performance. Thus it is important to identify, represent and manage uncertainty in software systems. We hypothesise that using an underlying conceptual framework for characterising uncertainty can facilitate these activities. This paper demonstrates the use of an extensible framework, which defines a foundation for the systematic and explicit consideration of uncertainty in software systems. A software architecture case study is used to illustrate and evaluate the framework. A discussion of potential uses for the framework and future research is also provided.Postprin

    Extension polymorphism

    Get PDF
    Any system that models a real world application has to evolve to be consistent with its changing domain. Dealing with evolution in an effective manner is particularly important for those systems that may store large amounts of data such as databases and persistent languages. In persistent programming systems, one of the important issues in dealing with evolution is the specification of code that will continue to work in a type safe way despite changes to type definitions. Polymorphism is one mechanism which allows code to work over many types. Inclusion polymorphism is often said to be a model of type evolution. However, observing type changes in persistent systems has shown that types most commonly exhibit additive evolution. Even though inclusion captures this pattern in the case of record types, it does not always do so for other type constructors. The confusion of subtyping, inheritance and evolution often leads to unsound or at best, dynamically typed systems. Existing solutions to this problem do not completely address the requirements of type evolution in persistent systems. The aim of this thesis is to develop a form of polymorphism that is suitable for modelling additive evolution in persistent systems. The proposed strategy is to study patterns of evolution for the most generally used type constructors in persistent languages and to define a new relation, called extension, which models these patterns. This relation is defined independent of any existing relations used for dealing with evolution. A programming language mechanism is then devised to provide polymorphism over this relation. The polymorphism thus defined is called extension polymorphism. This thesis presents work involving the design and definition of extension polymorphism and an implementation of a type checker for this polymorphism. A proof of soundness for a type system which supports extension polymorphism is also presented

    A component-based model and language for wireless sensor network applications

    Get PDF
    Wireless sensor networks are often used by experts in many different fields to gather data pertinent to their work. Although their expertise may not include software engineering, these users are expected to produce low-level software for a concurrent, real-time and resource-constrained computing environment. In this paper, we introduce a component-based model for wireless sensor network applications and a language, Insense, for supporting the model. An application is modelled as a composition of interacting components and the application model is preserved in the Insense implementation where active components communicate via typed channels. The primary design criteria for Insense include: to abstract over low-level concerns for ease of programming; to permit worst-case space and time usage of programs to be determinable; to support the fractal composition of components whilst eliminating implicit dependencies between them; and, to facilitate the construction of low footprint programs suitable for resource-constrained devices. This paper presents an overview of the component model and Insense, and demonstrates how they meet the above criteria.Preprin

    Incorporating ethics in software engineering : challenges and opportunities

    Get PDF
    Ethics is recognised as an important concern in the development and operation of software systems. While there are codes of ethics and sets of ethical principles available to software professionals, there is a lack of tool and process support for systematic ethical deliberation at most stages of the software lifecycle. To create and deploy ethical software, it is vital that ethical concerns of software systems are reflected in their artefacts, such as requirements, software architecture, code and test suites, and that software professionals are supported in considering the ethical as well as technical consequences of their decisions. This paper reports on some early work in identifying the challenges of ethical decision making and opportunities for addressing these challenges in the context of software engineering.Postprin

    ViLO: A Visual Interactive Resource for Supporting Self-Guided Learning

    Get PDF
    Traditional module delivery in higher education often follows a linear structure, which is not always conducive to understanding concepts and the many possible relationships between them. In this paper we introduce an online visual interactive learning resource called ViLO designed to address this problem. We describe the principles guiding the development of ViLO, early evaluation results and our plans for future work

    Towards verifying correctness of wireless sensor network applications using Insense and Spin

    Get PDF
    The design and implementation of wireless sensor network applications often require domain experts, who may lack expertise in software engineering, to produce resource-constrained, concurrent, real-time software without the support of high-level software engineering facilities. The Insense language aims to address this mismatch by allowing the complexities of synchronisation, memory management and event-driven programming to be borne by the language implementation rather than by the programmer. The main contribution of this paper is all initial step towards verifying the correctness of WSN applications with a focus on concurrency. We model part of the synchronisation mechanism of the Insense language implementation using Promela constructs and verify its correctness using SPIN. We demonstrate how a previously published version of the mechanism is shown to be incorrect by SPIN, and give complete verification results for the revised mechanism.Preprin

    System Evolution, Feedback and Compliant Architectures

    Get PDF
    Proceedings, International Workshop on Feedback and Evolution in Software and Business Processes (FEAST 2000), Imperial College, London. Supported by EPSRCPostprintNon peer reviewe

    Instances and connectors : issues for a second generation process language

    Get PDF
    This work is supported by UK EPSRC grants GR/L34433 and GR/L32699Over the past decade a variety of process languages have been defined, used and evaluated. It is now possible to consider second generation languages based on this experience. Rather than develop a second generation wish list this position paper explores two issues: instances and connectors. Instances relate to the relationship between a process model as a description and the, possibly multiple, enacting instances which are created from it. Connectors refers to the issue of concurrency control and achieving a higher level of abstraction in how parts of a model interact. We believe that these issues are key to developing systems which can effectively support business processes, and that they have not received sufficient attention within the process modelling community. Through exploring these issues we also illustrate our approach to designing a second generation process language.Postprin

    An active-architecture approach to COTS integration

    Get PDF
    Commercial off-the-shelf (COTS) software products are increasingly used as standard components within integrated information systems. This creates challenges since both their developers and source code are not usually available, and the ongoing development of COTS cannot be predicted. The ArchWare Framework approach recognises COTS products as part of the ambient environment of an information system and therefore an important part of development is incorporating COTS as effective system components. This integration of COTS components, and the composition of components, is captured by an active architecture model which changes as the system evolves. Indeed the architecture modelling language used enables it to express the monitoring and evolution of a system. This active architecture model is structured using control system principles. By modelling both integration and evolution it can guide the system’s response to both predicted and emergent changes that arise from the use of COTS products.Publisher PDFPeer reviewe
    corecore